package com.smallrig.mall.template.chain;

import org.apache.commons.chain.Command;
import org.apache.commons.chain.Context;
import org.apache.commons.chain.Filter;
import org.springframework.stereotype.Service;

@Service
public class OrderSubmitInfoCommand implements Command, Filter {

    @Override
    public boolean execute(Context context) throws Exception {
        OrderContext orderContext = (OrderContext) context;
        System.out.println("组装订单信息"+orderContext);
        return false;
        //return true则break，不会执行下一个命令
    }


    /**
     * 和execute执行顺序相反，逆向执行postprocess，
     * @param context
     * @param e execute抛出来的异常（多个异常取最后一个）
     * @return 如果返回true，代表异常已经处理了，不需要抛异常
     */
    @Override
    public boolean postprocess(Context context, Exception e) {
        return false;
    }
}
